home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / graphics / sin.frm < prev    next >
Text File  |  1993-05-16  |  2KB  |  103 lines

  1. VERSION 2.00
  2. Begin Form Form1 
  3.    BackColor       =   &H0000FF00&
  4.    Caption         =   "Form1"
  5.    ClientHeight    =   1770
  6.    ClientLeft      =   1320
  7.    ClientTop       =   1860
  8.    ClientWidth     =   4425
  9.    Height          =   2175
  10.    Left            =   1260
  11.    LinkTopic       =   "Form1"
  12.    ScaleHeight     =   1770
  13.    ScaleWidth      =   4425
  14.    Top             =   1515
  15.    Width           =   4545
  16. End
  17. Dim PI As Double
  18.  
  19. Sub Form_Activate ()
  20.     Const GRANULARITY = .03
  21.     Const LINE_HEIGHT = .05
  22.     Const LINE_WIDTH = .25
  23.     
  24.     Dim i As Double
  25.     Dim TwicePI As Double, PiOver2 As Double
  26.     Dim p1 As Double, p2 As Double
  27.     
  28.     TwicePI = PI * 2#
  29.     PiOver2 = PI / 2#
  30.     
  31.     'Establish a coordinate system and draw axes.
  32.     form1.Scale (-TwicePI - .1, 1.1)-(TwicePI + .1, -1.1)
  33.     Line (-TwicePI, 0)-(TwicePI, 0)
  34.     Line (0, 1)-(0, -1)
  35.  
  36.     'Draw marks on the horizontal axis.
  37.     For i = -TwicePI To TwicePI Step PI / 4#
  38.         Line (i, LINE_HEIGHT)-(i, -LINE_HEIGHT)
  39.     Next i
  40.  
  41.     currenty = -.1
  42.     currentx = -TwicePI
  43.     Print "-2pi"
  44.     currenty = .2
  45.     currentx = -1.6 * PI
  46.     Print "-1.5pi"
  47.     currenty = .2
  48.     currentx = -.6 * PI
  49.     Print "-.5pi"
  50.     currenty = -.1
  51.     currentx = -1.1 * PI
  52.     Print "-pi"
  53.     
  54.     currenty = .2
  55.     currentx = .4 * PI
  56.     Print ".5pi"
  57.     currenty = -.1
  58.     currentx = .93 * PI
  59.     Print "pi"
  60.     currenty = -.1
  61.     currentx = 1.4 * PI
  62.     Print "1.5pi"
  63.     currenty = .2
  64.     currentx = TwicePI - .4
  65.     Print "2pi"
  66.  
  67.     'Draw marks and labels on the vertical axis.
  68.     For i = 1# To -1# Step -.25
  69.         Line (-LINE_WIDTH, i)-(LINE_WIDTH, i)
  70.     Next i
  71.  
  72.     For i = 1# To .25 Step -.25
  73.         currentx = -.9
  74.         currenty = i + .05
  75.         Print Str$(i)
  76.     Next i
  77.     
  78.     For i = -.25 To -1# Step -.25
  79.         currentx = .3
  80.         currenty = i + .05
  81.         Print Str$(i)
  82.     Next i
  83.  
  84.     form1.Caption = "A graph of the sin from -2 PI to 2 PI."
  85.     
  86.     p1 = Sin(-TwicePI)
  87.     For i = -TwicePI + GRANULARITY To TwicePI Step GRANULARITY
  88.         p2 = Sin(i)
  89.         Line (i, p1)-(i, p2)
  90.         p1 = p2
  91.     Next i
  92. End Sub
  93.  
  94. Sub Form_Load ()
  95.     PI = Atn(1#) * 4
  96.     drawwidth = 2
  97.     form1.Width = .9 * screen.Width
  98.     form1.Height = .6 * screen.Height
  99.     form1.Top = .2 * screen.Height
  100.     form1.Left = .05 * screen.Width
  101. End Sub
  102.  
  103.